Halftoning is a process of transforming a continuous-tone grayscale or color image into an image with a limited number of tone levels. Halftoning may be of use when reproducing the continuous-tone image with a printer or similar device having a limited number of output states. The result of the halftoning process is a digital image representation, which may be referred to as a halftone. The value of each pixel of the halftone represents one of the output states. The output image produced by the halftoning process, or the rendered halftone, is typically made up of dots that were deposited by the printer on a print medium or substrate (such as paper). For example, a pixel value of the halftone may represent the presence or absence of a deposited dot (in binary printing), or one of a limited number of dot sizes (in multi-level printing).
The objective of halftoning is to achieve a rendered halftone that is visually the same as the original continuous-tone image, when viewed by a human viewer from an intended or specified viewing distance. Although magnification may reveal differences between the continuous-tone image and the rendered halftone, limitations in the resolving power of the human eye (at high spatial frequencies) may make them indistinguishable when not magnified.
The distribution of rendered dots with halftoning may be adapted to a particular type of printer or printing technology. For example, if a printer technology is not able to consistently render isolated dots, printing dots in clusters (clustered dot printing) rather than as dispersed isolated dots (dispersed dot printing) may increase reproducibility. When a periodic distribution of dots or clusters may lead to undesirable moire or other patterning, an aperiodic distribution of dots or dot clusters may be preferred.
Direct binary search (DBS) is an iterative method for reducing calculated perceivable differences between the halftone and the continuous-tone image. The calculated perceived difference may be quantified by a cost metric or error metric.
A halftoning process may include application of a screen (also referred to as a “mask”, a “dither matrix”, or a “threshold array”) as part of a screening (or “dithering”) process. A screen may be in the form of matrix of threshold values corresponding to a particular appearance in the (e.g. a gray level). A pixel-wise comparison between the image and the screen may be used to determine values of pixels of a halftone of the image. Application of a screen may generate a halftone image using fewer calculations than application of DBS, or may generate an initial halftone for application of DBS.